// 导入数据库操作模块
const db = require('../db/index')

// 获取文章分类
exports.getArticleCates = (req, res) => {
    const sql = `select * from ev_article_cate where is_delete=0 order by id asc`
    db.query(sql, (err, result) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '获取文章分类数据成功',
            data: result
        })
    })
}
// 添加文章分类
exports.addArticleCates = (req, res) => {
    const sql = `select * from ev_article_cate where name=? or alias=?`
    db.query(sql, [req.body.name, req.body.alias], (err, result) => {
        // 执行sql出错
        if (err) return res.cc(err)
        // 查询到了相同name或者alias的数据
        if (result.length > 0) {
            let exists_name = false
            for (let i = 0; i < result.length; i++) {
                if (result[i].name === req.body.name) {
                    exists_name = true
                    console.log(exists_name);
                    break;
                }
            }
            if (exists_name) return res.cc('该文章分类名称已经存在')
            else return res.cc('该文章分类的别名已经存在')
        }
        // 不存在，将数据保存
        const insert_cate_sql = `insert into ev_article_cate (name,alias) values(?,?)`
        db.query(insert_cate_sql, [req.body.name, req.body.alias], (err, result) => {
            if (err) return res.cc(err)
            if (result.affectedRows !== 1) return res.cc('添加文章分类失败')
            res.cc('添加文章分类成功', 0)
        })
    })
}

// 删除文章分类-根据id
exports.deleteCateById = (req, res) => {
    const sql = `update ev_article_cate set is_delete=1 where id=?`
    db.query(sql, req.params.id, (err, result) => {
        if (err) return res.cc(err)
        if (result.affectedRows !== 1) return res.cc('删除文章分类失败')
        res.cc('删除文章分类成功', 0)
    })
}

// 根据id获取文章分类
exports.getArtCateById = (req, res) => {
    const sql = `select * from ev_article_cate where id=?`
    db.query(sql, req.params.id, (err, result) => {
        if (err) return res.cc(err)
        if (result.length !== 1) return res.cc('获取文章分类失败')
        res.send({
            status: 0,
            message: '获取文章分类成功',
            data: result[0]
        })
    })
}

// 根据id修改分类信息
exports.updateCateById = (req, res) => {
    // 先查是否重复
    const sql = `select * from ev_article_cate where Id<>? and (name=? or alias=?)`
    db.query(sql, [req.body.Id, req.body.name, req.body.alias], (err, result) => {
        if (err) return res.cc(err)
        // 查询到了相同name或者alias的数据
        if (result.length > 0) {
            let exists_name = false
            for (let i = 0; i < result.length; i++) {
                if (result[i].name === req.body.name) {
                    exists_name = true
                    console.log(exists_name);
                    break;
                }
            }
            if (exists_name) return res.cc('该文章分类名称已经存在')
            else return res.cc('该文章分类的别名已经存在')
        }
        // 不存在重复，将数据保存
        // const update_cate_sql = `update ev_article_cate set name=?,alias=? where Id=?`
        const update_cate_sql = `update ev_article_cate set ? where Id=?`
        db.query(update_cate_sql, [req.body, req.body.Id], (err, result) => {
            if (err) return res.cc(err)
            if (result.affectedRows !== 1) return res.cc('更新分类失败')
            res.cc('更新分类成功', 0)
        })
    })
}